home *** CD-ROM | disk | FTP | other *** search
/ AppleScript - The Beta Release / AppleScript - The Beta Release.iso / Development Tools / Interfaces / PInterfaces / OSA.p < prev   
Text File  |  1992-11-14  |  18KB  |  573 lines

  1. {
  2. ////////////////////////////////////////////////////////////////////////////////
  3. // OPEN SCRIPTING ARCHITECTURE: Client Interface
  4. ////////////////////////////////////////////////////////////////////////////////
  5. // Copyright © 1992 Apple Computer, Inc. All rights reserved.
  6. // Authors: Jens Alfke, William Cook, Donn Denman, and Warren Harris
  7. ////////////////////////////////////////////////////////////////////////////////
  8. // This interface defines what it means to be a "scripting component."
  9. // Scripting components allow "scripts" to be loaded and executed.  This
  10. // interface does not define the way in which a particular scripting
  11. // component's scripts are editing and debugged.
  12. ////////////////////////////////////////////////////////////////////////////////
  13. }
  14.  
  15. {$IFC UNDEFINED UsingIncludes}
  16. {$SETC UsingIncludes := 0}
  17. {$ENDC}
  18.  
  19. {$IFC NOT UsingIncludes}
  20.     UNIT OSA;
  21.     INTERFACE
  22. {$ENDC}
  23.  
  24. {$IFC UNDEFINED UsingOSA}
  25. {$SETC UsingOSA := 1}
  26.  
  27. {$I+}
  28. {$SETC OSAIncludes := UsingIncludes}
  29. {$SETC UsingIncludes := 1}
  30. {$IFC UNDEFINED UsingAppleEvents}
  31. {$I $$Shell(PInterfaces)AppleEvents.p}
  32. {$ENDC}
  33. {$IFC UNDEFINED UsingComponents}
  34. {$I $$Shell(PInterfaces)Components.p}
  35. {$ENDC}
  36. {$SETC UsingIncludes := OSAIncludes}
  37.  
  38. { Types and Constants }
  39. CONST
  40.     kOSAComponentType                            = 'osa ';
  41.     kOSAGenericScriptingComponentSubtype        = 'scpt';
  42.  
  43. TYPE
  44.     OSAID                            = LONGINT;
  45.     OSAError                        = ComponentResult;
  46.  
  47. CONST
  48.     kOSANullScript                    = 0;
  49.     kOSANullMode                    = 0;
  50.     kOSAModeNull                    = 0;
  51.     
  52.     kOSASuite                        = 'ascr';
  53.     kOSARecordedText                = 'recd';
  54.     
  55.     kOSAScriptResourceType            = kOSAGenericScriptingComponentSubtype;
  56.     typeOSAGenericStorage            = kOSAScriptResourceType;
  57.  
  58.     { Error Codes }
  59.     errOSACorruptData                = -1702;    { Same as errAECorruptData }
  60.     errOSASystemError                = -1750;
  61.     errOSAInvalidID                    = -1751;
  62.     errOSABadStorageType            = -1752;
  63.     errOSAScriptError                = -1753;
  64.     errOSABadSelector                = -1754;
  65.     errOSAInvalidAccess                = -1755;
  66.     errOSASourceNotAvailable        = -1756;
  67.     errOSARecordingIsAlreadyOn        = -1732;
  68.  
  69. {
  70. ////////////////////////////////////////////////////////////////////////////////
  71. // OSA Interface Descriptions
  72. ////////////////////////////////////////////////////////////////////////////////
  73. // The OSA Interface is broken down into a required interface, and several
  74. // optional interfaces to support additional functionality.  A given scripting
  75. // component may choose to support only some of the optional interfaces in
  76. // addition to the basic interface.  The OSA Component Flags may be used to 
  77. // query the Component Manager to find a scripting component with a particular
  78. // capability, or determine if a particular scripting component supports a 
  79. // particular capability.
  80. ////////////////////////////////////////////////////////////////////////////////
  81. }
  82.     
  83.     { OSA Component Flags }
  84.     kOSASupportsCompiling                = 2**1;
  85.     kOSASupportsGetSource                = 2**2;
  86.     kOSASupportsAECoercion                = 2**3;
  87.     kOSASupportsAESending                = 2**4;
  88.     kOSASupportsRecording                = 2**5;
  89.     kOSASupportsConvenience                = 2**6;
  90.     kOSASupportsDialects                = 2**7;
  91.     kOSASupportsEventHandling                = 2**8;
  92.     
  93.     { Component Selectors }
  94.     { Basic Scripting: }
  95.     kOSASelectLoad                        = $0001;
  96.     kOSASelectStore                        = $0002;
  97.     kOSASelectExecute                    = $0003;
  98.     kOSASelectDisplay                    = $0004;
  99.     kOSASelectScriptError                = $0005;
  100.     kOSASelectDispose                    = $0006;
  101.     kOSASelectSetScriptInfo                = $0007;
  102.     kOSASelectGetScriptInfo                = $0008;
  103.     kOSASelectSetActiveProc                = $0009;
  104.     kOSASelectGetActiveProc                = $000A;
  105.     { Compiling: }
  106.     kOSASelectScriptingComponentName    = $0102;
  107.     kOSASelectCompile                    = $0103;
  108.     kOSASelectCopyID                    = $0104;
  109.     { GetSource: }
  110.     kOSASelectGetSource                    = $0201;
  111.     { AECoercion: }
  112.     kOSASelectCoerceFromDesc            = $0301;
  113.     kOSASelectCoerceToDesc                = $0302;
  114.     { AESending: }
  115.     kOSASelectSetSendProc                = $0401;
  116.     kOSASelectGetSendProc                = $0402;
  117.     kOSASelectSetCreateProc                = $0403;
  118.     kOSASelectGetCreateProc                = $0404;
  119.     kOSASelectSetDefaultTarget            = $0405;
  120.     { Recording: }
  121.     kOSASelectStartRecording            = $0501;
  122.     kOSASelectStopRecording                = $0502;
  123.     { Convenience:
  124.     kOSASelectLoadExecute                = $0601;
  125.     kOSASelectCompileExecute            = $0602;
  126.     kOSASelectDoScript                    = $0603;
  127.     { Dialects: }
  128.     kOSASelectSetCurrentDialect            = $0701;
  129.     kOSASelectGetCurrentDialect            = $0702;
  130.     kOSASelectAvailableDialects            = $0703;
  131.     { Event Handling: }
  132.     kOSASelectSetResumeDispatchProc        = $0801;
  133.     kOSASelectGetResumeDispatchProc        = $0802;
  134.     kOSASelectExecuteEvent                = $0803;
  135.     kOSASelectDoEvent                    = $0804;
  136.     kOSASelectMakeContext                = $0805;
  137.  
  138.     kOSASelectComponentSpecificStart    = $1001;
  139.     { scripting component specific selectors are added beginning with this 
  140.       value }
  141.     
  142.     { Mode Flags }
  143.     kOSAModePreventGetSource            = $00000001;
  144.     kOSAModeNeverInteract                = kAENeverInteract;
  145.     kOSAModeCanInteract                    = kAECanInteract;
  146.     kOSAModeAlwaysInteract                = kAEAlwaysInteract;
  147.     kOSAModeDontReconnect                = kAEDontReconnect;
  148.     kOSAModeCantSwitchLayer                = $00000040;
  149.     kOSAModeDoRecord                    = $00001000;
  150.     kOSAModeCompileIntoContext            = $00000002;
  151.     kOSAModeAugmentContext                = $00000004;
  152.     kOSAModeDisplayForHumans            = $00000008;
  153.  
  154. {
  155. ////////////////////////////////////////////////////////////////////////////////
  156. // OSA Basic Scripting Interface
  157. ////////////////////////////////////////////////////////////////////////////////
  158. // Scripting components must at least support the Basic Scripting interface.
  159. ////////////////////////////////////////////////////////////////////////////////
  160. }
  161.  
  162. { Loading and Storing Scripts }
  163.  
  164. FUNCTION
  165. OSALoad(scriptingComponent        : ComponentInstance;
  166.         scriptData                : AEDesc;
  167.         modeFlags                : LONGINT;
  168.         VAR resultingScriptID    : OSAID)
  169.     : OSAError;
  170.     INLINE $2F3C, $000C, $0001, $7000, $A82A;
  171.  
  172. FUNCTION
  173. OSAStore(scriptingComponent            : ComponentInstance; 
  174.          scriptID                    : OSAID; 
  175.          desiredType                : DescType;
  176.          modeFlags                    : LONGINT;
  177.          VAR resultingScriptData    : AEDesc)
  178.     : OSAError;
  179.     INLINE $2F3C, $000C, $0002, $7000, $A82A;
  180.  
  181. { Executing Scripts }
  182.  
  183. FUNCTION
  184. OSAExecute(scriptingComponent            : ComponentInstance;
  185.            compiledScriptID                : OSAID;
  186.            contextID                    : OSAID;
  187.            modeFlags                    : LONGINT;
  188.            VAR resultingScriptValueID    : OSAID)
  189.     : OSAError;
  190.     INLINE $2F3C, $0010, $0003, $7000, $A82A;
  191.  
  192. { Displaying Results }
  193.  
  194. FUNCTION
  195. OSADisplay(scriptingComponent        : ComponentInstance;
  196.            scriptValueID            : OSAID;
  197.            desiredType                : DescType;
  198.            modeFlags                : LONGINT;
  199.            VAR resultingText        : AEDesc)
  200.     : OSAError;
  201.     INLINE $2F3C, $0010, $0004, $7000, $A82A;
  202.  
  203. { Getting Error Information }
  204.  
  205. FUNCTION
  206. OSAScriptError(scriptingComponent                : ComponentInstance;
  207.                selector                            : OSType;
  208.                desiredType                        : DescType;
  209.                VAR resultingErrorDescription    : AEDesc)
  210.     : OSAError;
  211.     INLINE $2F3C, $000C, $0005, $7000, $A82A;
  212.  
  213. CONST    { OSAScriptError selectors: }
  214.     kOSAErrorNumber                = 'errn';
  215.     kOSAErrorMessage            = 'errs';
  216.     kOSAErrorBriefMessage        = 'errb';
  217.     kOSAErrorApp                = 'erap';
  218.     kOSAErrorPartialResult        = 'ptlr';
  219.     kOSAErrorOffendingObject    = 'erob';
  220.     kOSAErrorRange                = 'erng';
  221.  
  222.         { text ranges: }
  223.     typeOSAErrorRange            = 'erng';
  224.     keySourceStart                = 'srcs';
  225.     keySourceEnd                = 'srce';
  226.  
  227. { Disposing Script IDs }
  228.  
  229. FUNCTION
  230. OSADispose(scriptingComponent    : ComponentInstance;
  231.            scriptID                : OSAID)
  232.     : OSAError;
  233.     INLINE $2F3C, $0004, $0006, $7000, $A82A;
  234.  
  235. { Getting and Setting Script Information }
  236.  
  237. FUNCTION
  238. OSASetScriptInfo(scriptingComponent    : ComponentInstance;
  239.                  scriptID            : OSAID;
  240.                  selector            : OSType;
  241.                  value                : LONGINT)
  242.     : OSAError;
  243.     INLINE $2F3C, $000C, $0007, $7000, $A82A;
  244.  
  245. FUNCTION
  246. OSAGetScriptInfo(scriptingComponent    : ComponentInstance;
  247.                  scriptID            : OSAID;
  248.                  selector            : OSType;
  249.                  VAR result            : LONGINT)
  250.     : OSAError;
  251.     INLINE $2F3C, $000C, $0008, $7000, $A82A;
  252.  
  253. CONST    { selectors }
  254.     kOSAScriptIsModified            = 'modi';
  255.     kOSAScriptIsBeingEdited            = 'edit';
  256.     kOSAScriptIsBeingRecorded        = 'recd';
  257.     kOSAScriptIsTypeCompiledScript    = 'cscr';
  258.     kOSAScriptIsTypeScriptValue        = 'valu';
  259.     kOSAScriptIsTypeScriptContext    = 'cntx';
  260.     kOSAScriptBestType                = 'best';
  261.  
  262. { Manipulating the ActiveProc }
  263.  
  264. TYPE
  265.     OSAActiveProcPtr = ProcPtr;
  266.  
  267. FUNCTION
  268. OSASetActiveProc(scriptingComponent    : ComponentInstance;
  269.                  activeProc            : OSAActiveProcPtr;
  270.                  refCon                : LONGINT)
  271.     : OSAError;
  272.     INLINE $2F3C, $0008, $0009, $7000, $A82A;
  273.  
  274. FUNCTION
  275. OSAGetActiveProc(scriptingComponent    : ComponentInstance;
  276.                  VAR activeProc        : OSAActiveProcPtr;
  277.                  VAR refCon            : LONGINT)
  278.     : OSAError;
  279.     INLINE $2F3C, $0008, $000A, $7000, $A82A;
  280.  
  281. {
  282. ////////////////////////////////////////////////////////////////////////////////
  283. // OSA Optional Compiling Interface
  284. ////////////////////////////////////////////////////////////////////////////////
  285. // Scripting components that support the Compiling interface have the 
  286. // kOSASupportsCompiling bit set in it's ComponentDescription.
  287. ////////////////////////////////////////////////////////////////////////////////
  288. }
  289.  
  290. FUNCTION
  291. OSAScriptingComponentName(
  292.             scriptingComponent                    : ComponentInstance;
  293.             VAR resultingScriptingComponentName    : AEDesc)
  294.     : OSAError;
  295.     INLINE $2F3C, $0004, $0102, $7000, $A82A;
  296.  
  297. FUNCTION
  298. OSACompile(scriptingComponent                : ComponentInstance;
  299.            sourceData                        : AEDesc;
  300.            modeFlags                        : LONGINT;
  301.            VAR resultingCompiledScriptID    : OSAID)
  302.     : OSAError;
  303.     INLINE $2F3C, $000C, $0103, $7000, $A82A;
  304.  
  305. FUNCTION
  306. OSACopyID(scriptingComponent    : ComponentInstance;
  307.           fromID                : OSAID;
  308.           VAR toID                : OSAID)
  309.     : OSAError;
  310.     INLINE $2F3C, $0008, $0104, $7000, $A82A;
  311.  
  312. {
  313. ////////////////////////////////////////////////////////////////////////////////
  314. // OSA Optional GetSource Interface
  315. ////////////////////////////////////////////////////////////////////////////////
  316. // Scripting components that support the GetSource interface have the 
  317. // kOSASupportsGetSource bit set in it's ComponentDescription.
  318. ////////////////////////////////////////////////////////////////////////////////
  319. }
  320.  
  321. FUNCTION
  322. OSAGetSource(scriptingComponent            : ComponentInstance;
  323.              scriptID                    : OSAID;
  324.              desiredType                : DescType;
  325.              VAR resultingSourceData    : AEDesc)
  326.     : OSAError;
  327.     INLINE $2F3C, $000C, $0201, $7000, $A82A;
  328.  
  329. {
  330. ////////////////////////////////////////////////////////////////////////////////
  331. // OSA Optional AECoercion Interface
  332. ////////////////////////////////////////////////////////////////////////////////
  333. // Scripting components that support the AECoercion interface have the 
  334. // kOSASupportsGetSource bit set in it's ComponentDescription.
  335. ////////////////////////////////////////////////////////////////////////////////
  336. }
  337.  
  338. FUNCTION
  339. OSACoerceFromDesc(scriptingComponent            : ComponentInstance;
  340.                   scriptData                    : AEDesc;
  341.                   modeFlags                        : LONGINT;
  342.                   VAR resultingScriptValueID    : OSAID)
  343.     : OSAError;
  344.     INLINE $2F3C, $000C, $0301, $7000, $A82A;
  345.  
  346. FUNCTION
  347. OSACoerceToDesc(scriptingComponent    : ComponentInstance;
  348.                 scriptValueID        : OSAID;
  349.                 desiredType            : DescType;
  350.                 modeFlags            : LONGINT;
  351.                 VAR result            : AEDesc)
  352.     : OSAError;
  353.     INLINE $2F3C, $0010, $0302, $7000, $A82A;
  354.  
  355. {
  356. ////////////////////////////////////////////////////////////////////////////////
  357. // OSA Optional AESending Interface
  358. ////////////////////////////////////////////////////////////////////////////////
  359. // Scripting components that support the AESending interface have the 
  360. // kOSASupportsAESending bit set in it's ComponentDescription.
  361. ////////////////////////////////////////////////////////////////////////////////
  362. }
  363.  
  364. TYPE 
  365.     AESendProcPtr = ProcPtr;
  366.     AECreateAppleEventProcPtr = ProcPtr;
  367.     
  368. {  The first two proc pointers have the following interfaces
  369.    taken from AppleEvents.p 
  370.    
  371.     FUNCTION AECreateAppleEvent(theAEEventClass: AEEventClass;
  372.                                 theAEEventID: AEEventID;
  373.                                 target: AEAddressDesc;
  374.                                 returnID: INTEGER;
  375.                                 transactionID: LONGINT;
  376.                                 VAR result: AppleEvent): OSErr;
  377.     
  378.     FUNCTION AESend(theAppleEvent: AppleEvent;
  379.                     VAR reply: AppleEvent;
  380.                     sendMode: AESendMode;
  381.                     sendPriority: AESendPriority;
  382.                     timeOutInTicks: LONGINT;
  383.                     idleProc: IdleProcPtr;
  384.                     filterProc: EventFilterProcPtr): OSErr;
  385.  
  386.     FUNCTION OSAActive(): OSErr;
  387.  
  388. }
  389.  
  390. FUNCTION
  391. OSASetSendProc(scriptingComponent    : ComponentInstance;
  392.                sendProc                : AESendProcPtr;
  393.                refCon                : LONGINT)
  394.     : OSAError;
  395.     INLINE $2F3C, $0008, $0401, $7000, $A82A;
  396.  
  397. FUNCTION
  398. OSAGetSendProc(scriptingComponent    : ComponentInstance;
  399.                VAR sendProc            : AESendProcPtr;
  400.                VAR refCon            : LONGINT)
  401.     : OSAError;
  402.     INLINE $2F3C, $0008, $0402, $7000, $A82A;
  403.  
  404. FUNCTION
  405. OSASetCreateProc(scriptSystem        : ComponentInstance;
  406.                  createProc            : AECreateAppleEventProcPtr;
  407.                  refCon                : LONGINT)
  408.     : OSAError;
  409.     INLINE $2F3C, $0008, $0403, $7000, $A82A;
  410.  
  411. FUNCTION
  412. OSAGetCreateProc(scriptSystem        : ComponentInstance;
  413.                  VAR createProc        : AECreateAppleEventProcPtr;
  414.                  VAR refCon            : LONGINT)
  415.     : OSAError;
  416.     INLINE $2F3C, $0008, $0404, $7000, $A82A;
  417.  
  418. FUNCTION
  419. OSASetDefaultTarget(scriptSystem        : ComponentInstance;
  420.                      target                : AEAddressDesc)
  421.     : OSAError;
  422.     INLINE $2F3C, $0004, $0405, $7000, $A82A;
  423.  
  424. {
  425. ////////////////////////////////////////////////////////////////////////////////
  426. // OSA Optional Recording Interface
  427. ////////////////////////////////////////////////////////////////////////////////
  428. // Scripting components that support the Recording interface have the 
  429. // kOSASupportsRecording bit set in it's ComponentDescription.
  430. ////////////////////////////////////////////////////////////////////////////////
  431. }
  432.  
  433. FUNCTION
  434. OSAStartRecording(scriptingComponent            : ComponentInstance;
  435.                   VAR compiledScriptToModifyID    : OSAID)
  436.     : OSAError;
  437.     INLINE $2F3C, $0004, $0501, $7000, $A82A;
  438.  
  439. FUNCTION
  440. OSAStopRecording(scriptingComponent        : ComponentInstance;
  441.                  compiledScriptID        : OSAID)
  442.     : OSAError;
  443.     INLINE $2F3C, $0004, $0502, $7000, $A82A;
  444.  
  445. {
  446. ////////////////////////////////////////////////////////////////////////////////
  447. // OSA Optional Convenience Interface
  448. ////////////////////////////////////////////////////////////////////////////////
  449. // Scripting components that support the Convenience interface have the 
  450. // kOSASupportsConvenience bit set in it's ComponentDescription.
  451. ////////////////////////////////////////////////////////////////////////////////
  452. }
  453.  
  454. FUNCTION 
  455. OSALoadExecute(scriptingComponent            : ComponentInstance;
  456.                scriptData                    : AEDesc;
  457.                contextID                    : OSAID;
  458.                modeFlags                    : LONGINT;
  459.                VAR resultingScriptValueID    : OSAID)
  460.     : OSAError;
  461.     INLINE $2F3C, $0010, $0601, $7000, $A82A;
  462.  
  463. FUNCTION 
  464. OSACompileExecute(scriptingComponent            : ComponentInstance;
  465.                   sourceData                    : AEDesc;
  466.                   contextID                        : OSAID;
  467.                   modeFlags                        : LONGINT;
  468.                   VAR resultingScriptValueID    : OSAID)
  469.     : OSAError;
  470.     INLINE $2F3C, $0010, $0602, $7000, $A82A;
  471.  
  472. FUNCTION 
  473. OSADoScript(scriptingComponent            : ComponentInstance;
  474.             sourceData                    : AEDesc;
  475.             contextID                    : OSAID;
  476.             desiredType                    : DescType;
  477.             modeFlags                    : LONGINT;
  478.             VAR resultingText            : AEDesc)
  479.     : OSAError;
  480.     INLINE $2F3C, $0014, $0603, $7000, $A82A;
  481.  
  482. {
  483. ////////////////////////////////////////////////////////////////////////////////
  484. // OSA Optional Dialects Interface
  485. ////////////////////////////////////////////////////////////////////////////////
  486. // Scripting components that support the Dialects interface have the 
  487. // kOSASupportsDialects bit set in it's ComponentDescription.
  488. ////////////////////////////////////////////////////////////////////////////////
  489. }
  490.  
  491. FUNCTION 
  492. OSASetCurrentDialect(scriptingComponent    : ComponentInstance;
  493.                      dialectCode        : INTEGER)
  494.     : OSAError;
  495.     INLINE $2F3C, $0002, $0701, $7000, $A82A;
  496.  
  497. FUNCTION 
  498. OSAGetCurrentDialect(scriptingComponent            : ComponentInstance;
  499.                      VAR resultingDialectCode    : INTEGER)
  500.     : OSAError;
  501.     INLINE $2F3C, $0004, $0702, $7000, $A82A;
  502.  
  503. FUNCTION 
  504. OSAAvailableDialects(scriptingComponent                : ComponentInstance;
  505.                      VAR resultingDialectInfoList    : AEDesc)
  506.     : OSAError;
  507.     INLINE $2F3C, $0004, $0703, $7000, $A82A;
  508.  
  509. CONST
  510.     typeOSADialectInfo                    = 'difo';
  511.     keyOSADialectName                    = 'dnam';
  512.     keyOSADialectCode                    = 'dcod';
  513.     keyOSADialectLangCode                = 'dlcd';
  514.     keyOSADialectScriptCode                = 'dscd';
  515.  
  516. {
  517. ////////////////////////////////////////////////////////////////////////////////
  518. // OSA Optional Event Handling Interface
  519. ////////////////////////////////////////////////////////////////////////////////
  520. // Scripting components that support the Event Handling interface have the 
  521. // kOSASupportsEventHandling bit set in it's ComponentDescription.
  522. ////////////////////////////////////////////////////////////////////////////////
  523. }
  524.  
  525. TYPE
  526.     AEHandlerProcPtr            = EventHandlerProcPtr;
  527.  
  528. FUNCTION
  529. OSASetResumeDispatchProc(scriptingComponent    : ComponentInstance;
  530.                          resumeDispatchProc    : AEHandlerProcPtr;
  531.                          refCon                : LONGINT)
  532.     : OSAError;
  533.     INLINE $2F3C, $0008, $0801, $7000, $A82A;
  534.  
  535. FUNCTION
  536. OSAGetResumeDispatchProc(scriptingComponent        : ComponentInstance;
  537.                          VAR resumeDispatchProc    : AEHandlerProcPtr;
  538.                          VAR refCon                : LONGINT)
  539.     : OSAError;
  540.     INLINE $2F3C, $0008, $0802, $7000, $A82A;
  541.  
  542. FUNCTION
  543. OSAExecuteEvent(scriptingComponent            : ComponentInstance;
  544.                 theAppleEvent                : AppleEvent;
  545.                 contextID                    : OSAID;
  546.                 modeFlags                    : LONGINT;
  547.                 VAR resultingScriptValueID    : OSAID)
  548.     : OSAError;
  549.     INLINE $2F3C, $0010, $0803, $7000, $A82A;
  550.  
  551. FUNCTION
  552. OSADoEvent(scriptingComponent    : ComponentInstance;
  553.            theAppleEvent        : AppleEvent;
  554.            contextID            : OSAID;
  555.            modeFlags            : LONGINT;
  556.            VAR reply            : AppleEvent)
  557.     : OSAError;
  558.     INLINE $2F3C, $0010, $0804, $7000, $A82A;
  559.  
  560. FUNCTION
  561. OSAMakeContext(scriptingComponent        : ComponentInstance;
  562.                contextName                : StringPtr;
  563.                parentContext            : OSAID;
  564.                VAR resultingContextID    : OSAID)
  565.     : OSAError;
  566.     INLINE $2F3C, $000C, $0805, $7000, $A82A;
  567.  
  568. {$ENDC}    { UsingOSA }
  569.  
  570. {$IFC NOT UsingIncludes}
  571.     END.
  572. {$ENDC}
  573.